#pragma once
#ifdef _WIN32
// Windows特有的代码
#elif defined(__linux__)
// Linux特有的代码
#elif defined(__APPLE__)
#include <TargetConditionals.h>
#if TARGET_OS_MAC
// macOS特有的代码
#elif TARGET_OS_IPHONE
// iOS特有的代码
#endif
#endif

//使用宏定义封装平台特定的函数调用，例如动态链接库（DLL）的加载和符号解析：
#ifdef _WIN32
#define LOAD_LIBRARY(name) LoadLibraryA(name)
#define GET_FUNCTION_ADDRESS(lib, func) GetProcAddress(lib, func)
#else
#define LOAD_LIBRARY(name) dlopen(name, RTLD_LAZY)
#define GET_FUNCTION_ADDRESS(lib, func) dlsym(lib, func)
#endif

//在Windows上使用反斜杠\作为路径分隔符，在Linux和macOS上使用正斜杠/。可以使用宏定义来处理这种差异：
#ifdef _WIN32
#define PATH_SEPARATOR '\\'
#else
#define PATH_SEPARATOR '/'
#endif

//不同操作系统可能有不同的API和库。例如，可以使用宏定义来选择不同的线程库：
#ifdef _WIN32
#include <windows.h>
#else
#include <pthread.h>
#endif